package com.ys.entity.purchase;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCG_InvoiceOffset", catalog="Id")
public class TcgInvoiceOffset extends BaseEntity<TcgInvoiceOffset> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Bid", nameJava="bid", typeDataBase="varchar")
	private String bid;
	@YsField(nameDataBase="EffectStock", nameJava="effectStock", typeDataBase="tinyint")
	private Integer effectStock;
	@YsField(nameDataBase="CreateChangeId", nameJava="createChangeId", typeDataBase="bigint")
	private Long createChangeId;
	@YsField(nameDataBase="CompanyVid", nameJava="companyVid", typeDataBase="varchar")
	private String companyVid;
	@YsField(nameDataBase="OffsetTotalAmount", nameJava="offsetTotalAmount", typeDataBase="decimal")
	private BigDecimal offsetTotalAmount;
	@YsField(nameDataBase="PartnerBankInfoId", nameJava="partnerBankInfoId", typeDataBase="bigint")
	private Long partnerBankInfoId;
	@YsField(nameDataBase="SourceAddress", nameJava="sourceAddress", typeDataBase="varchar")
	private String sourceAddress;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="InvoiceState", nameJava="invoiceState", typeDataBase="tinyint")
	private Integer invoiceState;
	@YsField(nameDataBase="CustomsState", nameJava="customsState", typeDataBase="tinyint")
	private Integer customsState;
	@YsField(nameDataBase="BackTaxState", nameJava="backTaxState", typeDataBase="tinyint")
	private Integer backTaxState;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcgInvoiceOffset setId(Long id) {
		this.id = id;
		return this;
	}
	public String getBid() {
		return bid;
	}
	public TcgInvoiceOffset setBid(String bid) {
		this.bid = bid;
		return this;
	}
	public Integer getEffectStock() {
		return effectStock;
	}
	public TcgInvoiceOffset setEffectStock(Integer effectStock) {
		this.effectStock = effectStock;
		return this;
	}
	public Long getCreateChangeId() {
		return createChangeId;
	}
	public TcgInvoiceOffset setCreateChangeId(Long createChangeId) {
		this.createChangeId = createChangeId;
		return this;
	}
	public String getCompanyVid() {
		return companyVid;
	}
	public TcgInvoiceOffset setCompanyVid(String companyVid) {
		this.companyVid = companyVid;
		return this;
	}
	public BigDecimal getOffsetTotalAmount() {
		return offsetTotalAmount;
	}
	public TcgInvoiceOffset setOffsetTotalAmount(BigDecimal offsetTotalAmount) {
		this.offsetTotalAmount = offsetTotalAmount;
		return this;
	}
	public Long getPartnerBankInfoId() {
		return partnerBankInfoId;
	}
	public TcgInvoiceOffset setPartnerBankInfoId(Long partnerBankInfoId) {
		this.partnerBankInfoId = partnerBankInfoId;
		return this;
	}
	public String getSourceAddress() {
		return sourceAddress;
	}
	public TcgInvoiceOffset setSourceAddress(String sourceAddress) {
		this.sourceAddress = sourceAddress;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcgInvoiceOffset setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public Integer getInvoiceState() {
		return invoiceState;
	}
	public TcgInvoiceOffset setInvoiceState(Integer invoiceState) {
		this.invoiceState = invoiceState;
		return this;
	}
	public Integer getCustomsState() {
		return customsState;
	}
	public TcgInvoiceOffset setCustomsState(Integer customsState) {
		this.customsState = customsState;
		return this;
	}
	public Integer getBackTaxState() {
		return backTaxState;
	}
	public TcgInvoiceOffset setBackTaxState(Integer backTaxState) {
		this.backTaxState = backTaxState;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcgInvoiceOffset setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcgInvoiceOffset setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcgInvoiceOffset setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcgInvoiceOffset tcgInvoiceOffset(
		String bid,
		Integer effectStock,
		Long createChangeId,
		String companyVid,
		BigDecimal offsetTotalAmount,
		Long partnerBankInfoId,
		String sourceAddress,
		String remark,
		Integer invoiceState,
		Integer customsState,
		Integer backTaxState,
		Integer status
			) {
		TcgInvoiceOffset entity = new TcgInvoiceOffset();
		entity.setBid(bid);
		entity.setEffectStock(effectStock);
		entity.setCreateChangeId(createChangeId);
		entity.setCompanyVid(companyVid);
		entity.setOffsetTotalAmount(offsetTotalAmount);
		entity.setPartnerBankInfoId(partnerBankInfoId);
		entity.setSourceAddress(sourceAddress);
		entity.setRemark(remark);
		entity.setInvoiceState(invoiceState);
		entity.setCustomsState(customsState);
		entity.setBackTaxState(backTaxState);
		entity.setStatus(status);
		return entity;
	}
}